#ifndef sysConfig_H
#define sysConfig_H


//   Configuration Start 
#define MAX_PLATE_TOTAL 20
#define MAX_TEMPLATE 2
#define MAX_PAIR_TOTAL MAX_PLATE_TOTAL/2
#define MAX_PLATE_NETWORK MAX_PLATE_TOTAL/2
#define MAX_NETWORK 2

extern int N_PLATE;
extern int N_NETWORK;
extern int N_PAIR;
extern int N_TEMPLATE;


//   Configuration End 
#include "configDT.h"

void initDataSet(void);
void initPlateList(	T_plateList *PL );
void initPlateMap( T_plateMap *PM );
void initPairList( T_pairList *PP );
void initTemplateList( T_templateList *TL );

int getAbs (T_plateList PL, int id);
int getOrd (T_plateList PL, int id);

int getNPlateinNetw (T_plateMap PM, int netID);
int getIDnInNetw(T_plateMap PM, int netID, int idx);

int getPairID(T_pairList PL, int id);

int getTemplateID(T_templateList TL, int id, int tempID);

void initPlateDB( T_plateDB *PDB);
T_plateData getPlateData(T_plateDB PDB, int id);
void setPlateData(T_plateDB *PDB, int id, T_plateData PD);
int isPlateDataEqual(T_plateData PD1, T_plateData PD2);


#ifdef PC
void printPlateList( T_plateList PlateList );
void printPlateMap(T_plateMap PlateMap);
void printPairList(T_pairList PairList);
void printTemplateList(T_templateList TemplateList);

#endif


#endif
